#include <iostream>
#include <cstring>
using namespace std;
int nToTen(int n,char num[]){
    int len=strlen(num);
    int ten=0;
    int cf=1;//N的次方值
    for(int i=len-1;i>=0;i--){//从右向左扫描
        if(num[i]>='0'&&num[i]<='9'){//'0'~'9'
            ten+=(num[i]-'0')*cf;//利用ASCII码值的连续性和差值进行转换
        }else{//'A'~'F'
            ten+=(num[i]-'A'+10)*cf;//利用ASCII码值的连续性和差值进行转换
        }
        cf*=n;//更新次方值
    }
    return ten;//返回十进制内容
}
void tenToM(int ten,int m,char ans[]){
    char tmp[35]={0};//存储余数 
    int len=0;//余数个数 
    while(ten!=0){
        int u=ten%m;//分离余数 
        ten/=m;
        if(u>=0&&u<=9){//数字 0~9 转成 字符'0'~'9'
            tmp[len]=u+'0';
        }else{
            tmp[len]=u+'A'-10;//数字 10~15 转成 字符'A'~'F'
        }
        len++;
    }
    for(int i=0;i<len;i++){//倒着处理 
        ans[i]=tmp[len-1-i];
    }
}
int main(){
	int N,M;
	char num[35]={0},ans[35]={0};
	cin>>N>>num>>M;
	int ten=nToTen(N,num);
	tenToM(ten,M,ans);
	cout<<ans; 
	
	 
	return 0;
} 
